/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Generation.GenerationDynamics.impl;

import EA_Model.IEC61970.Domain.Seconds;

import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage;
import EA_Model.IEC61970.Generation.GenerationDynamics.SteamTurbine;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Steam Turbine</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getCrossoverTC <em>Crossover TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getReheater1TC <em>Reheater1 TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getReheater2TC <em>Reheater2 TC</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft1PowerHP <em>Shaft1 Power HP</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft1PowerIP <em>Shaft1 Power IP</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft1PowerLP1 <em>Shaft1 Power LP1</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft1PowerLP2 <em>Shaft1 Power LP2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft2PowerHP <em>Shaft2 Power HP</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft2PowerIP <em>Shaft2 Power IP</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft2PowerLP1 <em>Shaft2 Power LP1</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getShaft2PowerLP2 <em>Shaft2 Power LP2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Generation.GenerationDynamics.impl.SteamTurbineImpl#getSteamChestTC <em>Steam Chest TC</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class SteamTurbineImpl extends PrimeMoverImpl implements SteamTurbine {
	/**
	 * The cached value of the '{@link #getCrossoverTC() <em>Crossover TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getCrossoverTC()
	 * @generated
	 * @ordered
	 */
	protected Seconds crossoverTC;

	/**
	 * The cached value of the '{@link #getReheater1TC() <em>Reheater1 TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getReheater1TC()
	 * @generated
	 * @ordered
	 */
	protected Seconds reheater1TC;

	/**
	 * The cached value of the '{@link #getReheater2TC() <em>Reheater2 TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getReheater2TC()
	 * @generated
	 * @ordered
	 */
	protected Seconds reheater2TC;

	/**
	 * The cached value of the '{@link #getShaft1PowerHP() <em>Shaft1 Power HP</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft1PowerHP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft1PowerHP;

	/**
	 * The cached value of the '{@link #getShaft1PowerIP() <em>Shaft1 Power IP</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft1PowerIP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft1PowerIP;

	/**
	 * The cached value of the '{@link #getShaft1PowerLP1() <em>Shaft1 Power LP1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft1PowerLP1()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft1PowerLP1;

	/**
	 * The cached value of the '{@link #getShaft1PowerLP2() <em>Shaft1 Power LP2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft1PowerLP2()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft1PowerLP2;

	/**
	 * The cached value of the '{@link #getShaft2PowerHP() <em>Shaft2 Power HP</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft2PowerHP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft2PowerHP;

	/**
	 * The cached value of the '{@link #getShaft2PowerIP() <em>Shaft2 Power IP</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft2PowerIP()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft2PowerIP;

	/**
	 * The cached value of the '{@link #getShaft2PowerLP1() <em>Shaft2 Power LP1</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft2PowerLP1()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft2PowerLP1;

	/**
	 * The cached value of the '{@link #getShaft2PowerLP2() <em>Shaft2 Power LP2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getShaft2PowerLP2()
	 * @generated
	 * @ordered
	 */
	protected EA_Model.IEC61970.Domain.Float shaft2PowerLP2;

	/**
	 * The cached value of the '{@link #getSteamChestTC() <em>Steam Chest TC</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getSteamChestTC()
	 * @generated
	 * @ordered
	 */
	protected Seconds steamChestTC;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected SteamTurbineImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return GenerationDynamicsPackage.Literals.STEAM_TURBINE;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getCrossoverTC() {
		if (crossoverTC != null && crossoverTC.eIsProxy()) {
			InternalEObject oldCrossoverTC = (InternalEObject)crossoverTC;
			crossoverTC = (Seconds)eResolveProxy(oldCrossoverTC);
			if (crossoverTC != oldCrossoverTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC, oldCrossoverTC, crossoverTC));
			}
		}
		return crossoverTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetCrossoverTC() {
		return crossoverTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setCrossoverTC(Seconds newCrossoverTC) {
		Seconds oldCrossoverTC = crossoverTC;
		crossoverTC = newCrossoverTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC, oldCrossoverTC, crossoverTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getReheater1TC() {
		if (reheater1TC != null && reheater1TC.eIsProxy()) {
			InternalEObject oldReheater1TC = (InternalEObject)reheater1TC;
			reheater1TC = (Seconds)eResolveProxy(oldReheater1TC);
			if (reheater1TC != oldReheater1TC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC, oldReheater1TC, reheater1TC));
			}
		}
		return reheater1TC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetReheater1TC() {
		return reheater1TC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setReheater1TC(Seconds newReheater1TC) {
		Seconds oldReheater1TC = reheater1TC;
		reheater1TC = newReheater1TC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC, oldReheater1TC, reheater1TC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getReheater2TC() {
		if (reheater2TC != null && reheater2TC.eIsProxy()) {
			InternalEObject oldReheater2TC = (InternalEObject)reheater2TC;
			reheater2TC = (Seconds)eResolveProxy(oldReheater2TC);
			if (reheater2TC != oldReheater2TC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC, oldReheater2TC, reheater2TC));
			}
		}
		return reheater2TC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetReheater2TC() {
		return reheater2TC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setReheater2TC(Seconds newReheater2TC) {
		Seconds oldReheater2TC = reheater2TC;
		reheater2TC = newReheater2TC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC, oldReheater2TC, reheater2TC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft1PowerHP() {
		if (shaft1PowerHP != null && shaft1PowerHP.eIsProxy()) {
			InternalEObject oldShaft1PowerHP = (InternalEObject)shaft1PowerHP;
			shaft1PowerHP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft1PowerHP);
			if (shaft1PowerHP != oldShaft1PowerHP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP, oldShaft1PowerHP, shaft1PowerHP));
			}
		}
		return shaft1PowerHP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft1PowerHP() {
		return shaft1PowerHP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft1PowerHP(EA_Model.IEC61970.Domain.Float newShaft1PowerHP) {
		EA_Model.IEC61970.Domain.Float oldShaft1PowerHP = shaft1PowerHP;
		shaft1PowerHP = newShaft1PowerHP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP, oldShaft1PowerHP, shaft1PowerHP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft1PowerIP() {
		if (shaft1PowerIP != null && shaft1PowerIP.eIsProxy()) {
			InternalEObject oldShaft1PowerIP = (InternalEObject)shaft1PowerIP;
			shaft1PowerIP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft1PowerIP);
			if (shaft1PowerIP != oldShaft1PowerIP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP, oldShaft1PowerIP, shaft1PowerIP));
			}
		}
		return shaft1PowerIP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft1PowerIP() {
		return shaft1PowerIP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft1PowerIP(EA_Model.IEC61970.Domain.Float newShaft1PowerIP) {
		EA_Model.IEC61970.Domain.Float oldShaft1PowerIP = shaft1PowerIP;
		shaft1PowerIP = newShaft1PowerIP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP, oldShaft1PowerIP, shaft1PowerIP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft1PowerLP1() {
		if (shaft1PowerLP1 != null && shaft1PowerLP1.eIsProxy()) {
			InternalEObject oldShaft1PowerLP1 = (InternalEObject)shaft1PowerLP1;
			shaft1PowerLP1 = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft1PowerLP1);
			if (shaft1PowerLP1 != oldShaft1PowerLP1) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1, oldShaft1PowerLP1, shaft1PowerLP1));
			}
		}
		return shaft1PowerLP1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft1PowerLP1() {
		return shaft1PowerLP1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft1PowerLP1(EA_Model.IEC61970.Domain.Float newShaft1PowerLP1) {
		EA_Model.IEC61970.Domain.Float oldShaft1PowerLP1 = shaft1PowerLP1;
		shaft1PowerLP1 = newShaft1PowerLP1;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1, oldShaft1PowerLP1, shaft1PowerLP1));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft1PowerLP2() {
		if (shaft1PowerLP2 != null && shaft1PowerLP2.eIsProxy()) {
			InternalEObject oldShaft1PowerLP2 = (InternalEObject)shaft1PowerLP2;
			shaft1PowerLP2 = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft1PowerLP2);
			if (shaft1PowerLP2 != oldShaft1PowerLP2) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2, oldShaft1PowerLP2, shaft1PowerLP2));
			}
		}
		return shaft1PowerLP2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft1PowerLP2() {
		return shaft1PowerLP2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft1PowerLP2(EA_Model.IEC61970.Domain.Float newShaft1PowerLP2) {
		EA_Model.IEC61970.Domain.Float oldShaft1PowerLP2 = shaft1PowerLP2;
		shaft1PowerLP2 = newShaft1PowerLP2;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2, oldShaft1PowerLP2, shaft1PowerLP2));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft2PowerHP() {
		if (shaft2PowerHP != null && shaft2PowerHP.eIsProxy()) {
			InternalEObject oldShaft2PowerHP = (InternalEObject)shaft2PowerHP;
			shaft2PowerHP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft2PowerHP);
			if (shaft2PowerHP != oldShaft2PowerHP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP, oldShaft2PowerHP, shaft2PowerHP));
			}
		}
		return shaft2PowerHP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft2PowerHP() {
		return shaft2PowerHP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft2PowerHP(EA_Model.IEC61970.Domain.Float newShaft2PowerHP) {
		EA_Model.IEC61970.Domain.Float oldShaft2PowerHP = shaft2PowerHP;
		shaft2PowerHP = newShaft2PowerHP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP, oldShaft2PowerHP, shaft2PowerHP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft2PowerIP() {
		if (shaft2PowerIP != null && shaft2PowerIP.eIsProxy()) {
			InternalEObject oldShaft2PowerIP = (InternalEObject)shaft2PowerIP;
			shaft2PowerIP = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft2PowerIP);
			if (shaft2PowerIP != oldShaft2PowerIP) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP, oldShaft2PowerIP, shaft2PowerIP));
			}
		}
		return shaft2PowerIP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft2PowerIP() {
		return shaft2PowerIP;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft2PowerIP(EA_Model.IEC61970.Domain.Float newShaft2PowerIP) {
		EA_Model.IEC61970.Domain.Float oldShaft2PowerIP = shaft2PowerIP;
		shaft2PowerIP = newShaft2PowerIP;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP, oldShaft2PowerIP, shaft2PowerIP));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft2PowerLP1() {
		if (shaft2PowerLP1 != null && shaft2PowerLP1.eIsProxy()) {
			InternalEObject oldShaft2PowerLP1 = (InternalEObject)shaft2PowerLP1;
			shaft2PowerLP1 = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft2PowerLP1);
			if (shaft2PowerLP1 != oldShaft2PowerLP1) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1, oldShaft2PowerLP1, shaft2PowerLP1));
			}
		}
		return shaft2PowerLP1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft2PowerLP1() {
		return shaft2PowerLP1;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft2PowerLP1(EA_Model.IEC61970.Domain.Float newShaft2PowerLP1) {
		EA_Model.IEC61970.Domain.Float oldShaft2PowerLP1 = shaft2PowerLP1;
		shaft2PowerLP1 = newShaft2PowerLP1;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1, oldShaft2PowerLP1, shaft2PowerLP1));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float getShaft2PowerLP2() {
		if (shaft2PowerLP2 != null && shaft2PowerLP2.eIsProxy()) {
			InternalEObject oldShaft2PowerLP2 = (InternalEObject)shaft2PowerLP2;
			shaft2PowerLP2 = (EA_Model.IEC61970.Domain.Float)eResolveProxy(oldShaft2PowerLP2);
			if (shaft2PowerLP2 != oldShaft2PowerLP2) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2, oldShaft2PowerLP2, shaft2PowerLP2));
			}
		}
		return shaft2PowerLP2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EA_Model.IEC61970.Domain.Float basicGetShaft2PowerLP2() {
		return shaft2PowerLP2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setShaft2PowerLP2(EA_Model.IEC61970.Domain.Float newShaft2PowerLP2) {
		EA_Model.IEC61970.Domain.Float oldShaft2PowerLP2 = shaft2PowerLP2;
		shaft2PowerLP2 = newShaft2PowerLP2;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2, oldShaft2PowerLP2, shaft2PowerLP2));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds getSteamChestTC() {
		if (steamChestTC != null && steamChestTC.eIsProxy()) {
			InternalEObject oldSteamChestTC = (InternalEObject)steamChestTC;
			steamChestTC = (Seconds)eResolveProxy(oldSteamChestTC);
			if (steamChestTC != oldSteamChestTC) {
				if (eNotificationRequired())
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC, oldSteamChestTC, steamChestTC));
			}
		}
		return steamChestTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Seconds basicGetSteamChestTC() {
		return steamChestTC;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setSteamChestTC(Seconds newSteamChestTC) {
		Seconds oldSteamChestTC = steamChestTC;
		steamChestTC = newSteamChestTC;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC, oldSteamChestTC, steamChestTC));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC:
				if (resolve) return getCrossoverTC();
				return basicGetCrossoverTC();
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC:
				if (resolve) return getReheater1TC();
				return basicGetReheater1TC();
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC:
				if (resolve) return getReheater2TC();
				return basicGetReheater2TC();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP:
				if (resolve) return getShaft1PowerHP();
				return basicGetShaft1PowerHP();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP:
				if (resolve) return getShaft1PowerIP();
				return basicGetShaft1PowerIP();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1:
				if (resolve) return getShaft1PowerLP1();
				return basicGetShaft1PowerLP1();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2:
				if (resolve) return getShaft1PowerLP2();
				return basicGetShaft1PowerLP2();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP:
				if (resolve) return getShaft2PowerHP();
				return basicGetShaft2PowerHP();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP:
				if (resolve) return getShaft2PowerIP();
				return basicGetShaft2PowerIP();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1:
				if (resolve) return getShaft2PowerLP1();
				return basicGetShaft2PowerLP1();
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2:
				if (resolve) return getShaft2PowerLP2();
				return basicGetShaft2PowerLP2();
			case GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC:
				if (resolve) return getSteamChestTC();
				return basicGetSteamChestTC();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC:
				setCrossoverTC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC:
				setReheater1TC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC:
				setReheater2TC((Seconds)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP:
				setShaft1PowerHP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP:
				setShaft1PowerIP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1:
				setShaft1PowerLP1((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2:
				setShaft1PowerLP2((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP:
				setShaft2PowerHP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP:
				setShaft2PowerIP((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1:
				setShaft2PowerLP1((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2:
				setShaft2PowerLP2((EA_Model.IEC61970.Domain.Float)newValue);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC:
				setSteamChestTC((Seconds)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC:
				setCrossoverTC((Seconds)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC:
				setReheater1TC((Seconds)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC:
				setReheater2TC((Seconds)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP:
				setShaft1PowerHP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP:
				setShaft1PowerIP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1:
				setShaft1PowerLP1((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2:
				setShaft1PowerLP2((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP:
				setShaft2PowerHP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP:
				setShaft2PowerIP((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1:
				setShaft2PowerLP1((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2:
				setShaft2PowerLP2((EA_Model.IEC61970.Domain.Float)null);
				return;
			case GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC:
				setSteamChestTC((Seconds)null);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case GenerationDynamicsPackage.STEAM_TURBINE__CROSSOVER_TC:
				return crossoverTC != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER1_TC:
				return reheater1TC != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__REHEATER2_TC:
				return reheater2TC != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_HP:
				return shaft1PowerHP != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_IP:
				return shaft1PowerIP != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP1:
				return shaft1PowerLP1 != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT1_POWER_LP2:
				return shaft1PowerLP2 != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_HP:
				return shaft2PowerHP != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_IP:
				return shaft2PowerIP != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP1:
				return shaft2PowerLP1 != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__SHAFT2_POWER_LP2:
				return shaft2PowerLP2 != null;
			case GenerationDynamicsPackage.STEAM_TURBINE__STEAM_CHEST_TC:
				return steamChestTC != null;
		}
		return super.eIsSet(featureID);
	}

} //SteamTurbineImpl
